﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using DAO;
using BUS;

namespace giaodien
{
    public partial class themxoasuaphong : Form
    {
        public themxoasuaphong()
        {
            InitializeComponent();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Minimized;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            GDChinh frm = new GDChinh();
            DialogResult d = MessageBox.Show("Bạn Có Muốn Thoát", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (d == DialogResult.Yes)
            {
                this.Close();
                frm.Show();
            }
        }

        private void nutthoat_Click(object sender, EventArgs e)
        {
            DialogResult d = MessageBox.Show("Bạn Có Muốn Thoát", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (d == DialogResult.Yes)
            {
                this.Close();
            }
        }
        int key = -1;
        private void nutthemnv_Click(object sender, EventArgs e)
        {
            key = 0;
            txtmap1.Text = "";
            combomaloaip.Text = "";
            combomaloaip.Enabled = true;
        }

        private void themxoasuaphong_MouseMove(object sender, MouseEventArgs e)
        {
            dichchuyen.MouseMove(this, MousePosition.X, MousePosition.Y);
        }

        private void themxoasuaphong_MouseDown(object sender, MouseEventArgs e)
        {
            dichchuyen.MouseDown(e);
        }

        private void themxoasuaphong_MouseUp(object sender, MouseEventArgs e)
        {
            dichchuyen.MouseUp();
        }
        //public string taomatudong(string automap)
        //{
        //    string mamoi;
        //    string laymaloannhathientai = "";
        //    int i = 0;
        //    DataSet ds = new DataSet();
        //    ds = nhanvien_BUS.automa();

        //    if (ds.Tables[0].Rows.Count != 0)
        //    {
        //        laymaloannhathientai = ds.Tables[0].Rows[0][0].ToString();
        //        mamoi = laymaloannhathientai.Substring(0, 3).ToString();
        //    }
        //    else
        //    {
        //        mamoi = "00";
        //    }
        //    i = int.Parse(mamoi);
        //    i++;
        //    return travegiatrima(i, automap);
        //}
        //public string travegiatrima(int i, string st)
        //{
        //    st = "";
        //    if (i < 10)
        //        return st.ToString() + "00" + i.ToString();
        //    else
        //        return st.ToString() + "0" + i.ToString();

        //}
        void hienthiphonglist(DataSet ds, ListView danhsach)
        {
            danhsach.Items.Clear();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                ListViewItem lvw = new ListViewItem();
                lvw.Text = ds.Tables[0].Rows[i][0].ToString();
                for (int j = 1; j < ds.Tables[0].Columns.Count; j++)
                {
                    if (ds.Tables[0].Rows[i][j].ToString() != "")
                    {
                        lvw.SubItems.Add(ds.Tables[0].Rows[i][j].ToString());
                    }
                    else
                        lvw.SubItems.Add("");
                }
                danhsach.Items.Add(lvw);
            }
        }
        void laysukienkhimousedown(ListView danhsachmousedown, object sender, MouseEventArgs e)
        {
            if (key==0)
                MessageBox.Show("Bạn không thể chọn phòng khi đã nhấn thêm");
            else
            {
                if (e.Button != MouseButtons.Right)
                {
                    ListViewItem lvw = listphong.GetItemAt(e.X, e.Y);
                    if (lvw != null)
                    {
                        txtmap1.Text = lvw.SubItems[0].Text;
                        combomaloaip.Text = lvw.SubItems[1].Text;
                    }
                }
            }
        }

        private void themxoasuaphong_Load(object sender, EventArgs e)
        {
            combomaloaip.Enabled = false;
            DataSet ds = new DataSet();
            ds = phong_BUS.loadphong();
            hienthiphonglist(ds, listphong);
        }

        private void listphong_MouseDown(object sender, MouseEventArgs e)
        {
            laysukienkhimousedown(listphong, sender, e);
        }

        private void nuttim_Click(object sender, EventArgs e)
        {
            phong_DTO p = new phong_DTO();
            DataSet ds = new DataSet();
            p.map = int.Parse(txtmap.Text);
            ds = phong_BUS.timphong(p);
            hienthiphonglist(ds, listphong);
        }

        private void txtmap_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar) == false && char.IsControl(e.KeyChar) == false)
            {
                e.Handled = true;
            }
        }

        private void nutsuaphong_Click(object sender, EventArgs e)
        {
            if (listphong.SelectedItems.Count == 0)
                MessageBox.Show("Vui lòng chọn dịch vụ cần sửa");
            else
            {
                key = 1;
                combomaloaip.Enabled = true;
            }
        }

        private void nutluuphong_Click(object sender, EventArgs e)
        {
            if (key == 0)
            {
                DataSet ds = new DataSet();
                phong_DTO p = new phong_DTO();
                p.maloaip = combomaloaip.Text;
                if (phong_BUS.themphong(p) == true)
                {
                    MessageBox.Show("Thêm thành công");
                    ds = phong_BUS.loadphong();
                    hienthiphonglist(ds, listphong);
                    combomaloaip.Enabled = false;
                    key = -1;
                }
                else
                    MessageBox.Show("Thêm không thành công");
            }
            if (key == 1)
            {
                DataSet ds = new DataSet();
                phong_DTO p = new phong_DTO();
                p.maloaip = combomaloaip.Text;
                p.map = int.Parse(txtmap1.Text);
                DialogResult d = MessageBox.Show("Bạn có chắc muốn sửa", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (d == DialogResult.Yes)
                {
                    if (phong_BUS.suaphong(p) == true)
                    {
                        MessageBox.Show("Sửa thành công");
                        ds = phong_BUS.loadphong();
                        hienthiphonglist(ds, listphong);
                        combomaloaip.Enabled = false;
                        key = -1;
                    }
                    else
                        MessageBox.Show("Sửa không thành công");
                }
            }
        }

        private void nutxoaphong_Click(object sender, EventArgs e)
        {
            phong_DTO p = new phong_DTO();
            if (listphong.SelectedItems.Count == 0)
                MessageBox.Show("Vui lòng chọn phòng cần xóa");
            else
            {
                if (key == 0 || key == 1)
                    MessageBox.Show("Bạn không thể xóa phòng khi đã nhấn thêm hoặc sửa", "Thông Báo");
                else
                {
                    DataSet ds = new DataSet();
                    foreach (ListViewItem lvw in listphong.SelectedItems)
                    {
                        if (lvw != null)
                        {
                            p.map = int.Parse(lvw.Text);
                            if (phong_BUS.kiemtratinhtrangphong(p) == true)
                                    MessageBox.Show("Bạn không thể xóa phòng đang được thuê", "Thông báo");
                            else
                            {
                            DialogResult d = MessageBox.Show("Bạn có chắc muốn xóa", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (d == DialogResult.Yes)
                            {
                                if (phong_BUS.xoaphong(p) == true)
                                {
                                    MessageBox.Show("Xóa thành công");
                                    ds = phong_BUS.loadphong();
                                    hienthiphonglist(ds, listphong);
                                    txtmap1.Text = "";
                                    combomaloaip.Text = "";
                                    key = -1;
                                }
                                else
                                {
                                    MessageBox.Show("Xóa không thành công");
                                }
                            }
                        }
                    }
                    }
                }
            }
        }

        private void combomaloaip_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = true;
        }

        private void nuthuyphong_Click(object sender, EventArgs e)
        {
            key = -1;
            txtmap1.Text = "";
            combomaloaip.Text = "";
            combomaloaip.Enabled = false;
        }
    }
}
